#include <iostream>
#include <thread>
#include <future>
using namespace std;


int Add(int x, int y)
{
    cout << "执行加法" << endl;
    return x + y;
}

int main()
{
    future<int> fu = async(launch::deferred, Add, 11, 22);

    cout << "main函数运行" << endl;
    this_thread::sleep_for(std::chrono::duration<int>(3));
    cout << "主函数睡眠停止" << endl;
    cout << "执行流的结果：" << fu.get() << endl;
    return 0;
}

// int Add(int x, int y)
// {
//     this_thread::sleep_for(std::chrono::duration<int>(3));
//     cout << "执行加法" << endl;
//     return x + y;
// }

// int main()
// {
//     future<int> fu = async(launch::async, Add, 11, 22);

//     cout << "main函数运行" << endl;

//     cout << "执行流的结果：" << fu.get() << endl;
//     return 0;
// }

// int Add(int x, int y)
// {
//     this_thread::sleep_for(std::chrono::duration<int>(3));
//     cout << "执行加法" << endl;
//     return x + y;
// }

// int main()
// {
//     future<int> fu = async(Add, 11, 22);

//     cout << "main函数运行" << endl;

//     cout << "执行流的结果：" << fu.get() << endl;
//     return 0;
// }